A content addressable memory (CAM) device is a storage device that is particularly suitable for matching functions because it can be instructed to compare a specific pattern of comparand data with data stored in an associative CAM array. A CAM, also referred to as an associative memory, can include a number of data storage locations, each of which can be accessed by a corresponding address. Functionality of a CAM depends at least in part on whether the CAM includes binary or ternary CAM cells.
Typical binary CAM cells are able to store to states of information, a logic one state and a logic zero state. Binary CAM cells typically include a memory cell and a compare circuit. The compare circuit compares the comparand data with data stored in the memory cell and provides the match result to a match line. Columns of binary CAM cells may be globally masked by mask data stored in one or more global mask registers.
Ternary CAM cells are mask-per-bit CAM cells that effectively store three states of information, namely a logic one state, a logic zero state, and a don't care state for compare operations. Ternary CAM cells typically include a second memory cell that stores local mask data for the each ternary CAM cell. The local mask data masks the comparison result of the comparand data with the data stored in the first memory cell such that, when the mask bit has a first predetermined value (a logic low, for example) its compare operation will be masked so that the comparison result does not affect the match line (e.g., always appears to match). The ternary CAM cell offers more flexibility to the user to determine on an entry-per-entry basis which bits in a word will be masked during a compare operation.
Conventional CAM devices have used a variety of volatile or nonvolatile Random Access Memory (RAM) devices, such as static random access memory (SRAM) devices and dynamic random access memory (DRAM) devices. The SRAM devices have generally been used in applications involving a high random access speed and/or a CMOS logic compatible process, while the DRAM devices have been used in high-density applications where the relatively slower random access speed of DRAM can be tolerated.
More recently, a RAM device based on Negative Differential Resistance (NDR) devices has been introduced. These NDR-based RAM devices typically include at least two active elements, including an NDR device. The NDR device can be any one of a variety of NDR devices ranging from a simple bipolar transistor to more complicated quantum-effect devices. The NDR-based RAM device supports a cell area smaller than conventional RAM cells because of the smaller number of active devices and interconnections. The NDR-based RAM cells, however, can introduce issues that have affected widespread commercial adaptation in RAM products. As an example, some NDR-based RAM cells have high standby power consumption due to the large current needed in one or both of the stable states of the cell. As a further example, some NDR-based RAM cells also introduce limitations in access speed due to slow switching from one state to the other.
An NDR-based RAM device has been recently introduced that potentially provides the speed of conventional SRAM devices at the density of Dynamic Random Access Memory (DRAM) devices in a CMOS compatible process. This RAM device uses a capacitively-coupled thyristor as the NDR device to form a bistable element for the RAM device. While many typical CAM devices used static memory technology, dynamic memory technology including DRAM devices was also used because it provided relatively denser and, therefore, larger memory arrays on the same size chip as similar arrays using static memory technology. The efficient search capabilities of CAM devices have proven useful in many applications including address filtering and lookups in routers and networking equipment, for example, and pattern recognition for encryption and/or decryption and compression and/or decompression applications, for example, as well as other pattern recognition applications. As the applications for CAM devices increase so to do the applications for denser RAM-based CAM cells.
In the drawings, the same reference numbers identify identical or substantially similar elements or acts. To easily identify the discussion of any particular element or act, the most significant digit or digits in a reference number refer to the Figure number in which that element is first introduced (e.g., element 104 is first introduced and discussed with respect to FIG. 1). Any modifications necessary to the Figures can be readily made by one skilled in the relevant art based on the detailed description provided herein.